// 系统A
class subA {
  MethodsA() {
    console.log('子系统方法A被执行')
  }
}

// 系统A
class subB {
  MethodsB() {
    console.log('子系统方法B被执行')
  }
}

// 系统A
class subC {
  MethodsC() {
    console.log('子系统方法C被执行')
  }
}

// 外观模式
class Facade {
  private sub_A: subA
  private sub_B: subB
  private sub_C: subC

  constructor() {
    this.sub_A = new subA()
    this.sub_B = new subB()
    this.sub_C = new subC()
  }

  // 第一组新方法
  MethodsOne() {
    console.log('新系统方法-1')
    this.sub_A.MethodsA()
    this.sub_B.MethodsB()
  }

  MethodsTwo() {
    console.log('新系统 方法2')
    this.sub_C.MethodsC()
    this.sub_B.MethodsB()
  }
}